static void _gtk_rbtree_debug_spew (GtkRBTree *tree);
#endif
+static const GtkRBNode nil = {
+ /* .flags = */ GTK_RBNODE_BLACK,
+
+ /* rest is NULL */
+};
static GtkRBNode *
retval->parent_tree = NULL;
retval->parent_node = NULL;
- retval->nil = g_slice_new (GtkRBNode);
- retval->nil->left = NULL;
- retval->nil->right = NULL;
- retval->nil->parent = NULL;
- retval->nil->flags = GTK_RBNODE_BLACK;
- retval->nil->count = 0;
- retval->nil->offset = 0;
- retval->nil->total_count = 0;
+ retval->nil = (GtkRBNode *) &nil;
retval->root = retval->nil;
return retval;
if (tree->parent_node &&
tree->parent_node->children == tree)
tree->parent_node->children = NULL;
- _gtk_rbnode_free (tree->nil);
g_free (tree);
}